#ifndef DATA_H
#define DATA_H

#include <stdint.h>

// 192 = 8 * 8 * 3
uint8_t activation_flat_array[192] = {
    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
    133, 134, 135, 136, 137, 138, 139, 130, 131, 132, 133, 134, 135,
    136, 137, 138, 139, 130, 131, 132, 133, 134, 135, 136, 137, 138,
    139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 140, 141,
    142, 143, 144, 145, 146, 147, 148, 149, 140, 141, 142, 143,

    144, 145, 146, 147, 148, 149, 140, 141, 142, 143, 144, 145, 146,
    147, 148, 149, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
    140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 100, 101, 102,
    103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
    116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,

    128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
    141, 142, 143, 144, 145, 146, 147, 148, 149, 120, 121, 122, 123,
    124, 125, 126, 127, 128, 129, 160, 161, 162, 163, 164, 165, 166,
    167, 168, 169, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
    120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 120, 121};

int8_t nchw_flat_array[] = {
    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    1,  1,  1,  2,  2,  2,  6,  7,  8,  3,  3,  3,  10, 10, 10, 11, 12, 13,
    5,  5,  5,  15, 15, 16, 25, 25, 28, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    1,  1,  1,  2,  2,  2,  6,  7,  8,  3,  3,  3,  10, 10, 10, 11, 12, 13,
    5,  5,  5,  15, 15, 16, 25, 25, 28, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16, 17,
    18, 19, 20, 21, 22, 23, 24, 25, 26, 0,  0,  0,  0,  0,  0,  0,  0,  0,

    27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    45, 46, 47, 48, 49, 50, 51, 52, 53, 0,  0,  0,  0,  0,  0,  0,  0,  0};

// 1024 = 8 * 8 * 16
uint8_t conv_relu_ans_golden[1024] = {
    133, 136, 137, 138, 139, 139, 140, 136, 138, 143, 144, 145, 146,
    144, 142, 135, 137, 141, 141, 142, 143, 142, 140, 134, 142, 149,
    149, 147, 145, 141, 140, 135, 142, 145, 142, 137, 136, 135, 136,
    133, 140, 143, 140, 134, 132, 129, 131, 130, 132, 131, 130, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 0

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 170, 173, 176,
    171, 168, 151, 154, 167, 169, 171, 174, 170, 167, 150, 166, 185,
    187, 180, 175, 163, 161, 147, 164, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 142, 143, 139, 130,
    129, 128, 128, 128, 131, 133, 135, 132, 130, 128, 128, 128,  // 1

    132, 135, 135, 136, 137, 138, 138, 134, 135, 139, 140, 141, 142,
    139, 137, 132, 133, 135, 135, 136, 137, 135, 134, 131, 138, 144,
    144, 142, 141, 139, 139, 135, 140, 142, 139, 134, 133, 132, 133,
    131, 134, 135, 133, 129, 128, 128, 128, 128, 128, 128, 129, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 2

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 171, 173, 176,
    171, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 164, 161, 147, 165, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 131, 134, 135, 132, 130, 128, 128, 128,  // 3

    133, 136, 137, 138, 139, 139, 140, 135, 137, 142, 144, 145, 146,
    144, 142, 135, 136, 140, 141, 142, 143, 141, 140, 134, 142, 148,
    149, 147, 145, 141, 140, 134, 142, 145, 142, 136, 135, 134, 136,
    133, 140, 142, 140, 134, 131, 129, 130, 130, 132, 131, 129, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 4

    140, 147, 150, 153, 156, 157, 159, 148, 152, 166, 171, 173, 176,
    172, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 164, 161, 147, 165, 175, 170, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 132, 134, 135, 132, 130, 128, 128, 128,  // 5

    133, 136, 137, 138, 139, 139, 140, 135, 137, 143, 144, 145, 146,
    144, 142, 135, 137, 141, 141, 142, 143, 141, 140, 134, 142, 148,
    149, 147, 145, 141, 140, 134, 142, 145, 142, 137, 135, 134, 136,
    133, 140, 143, 140, 134, 131, 129, 131, 130, 132, 131, 130, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 6

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 170, 173, 176,
    171, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 163, 161, 147, 164, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 131, 134, 135, 132, 130, 128, 128, 128,  // 7

    133, 136, 137, 138, 139, 139, 140, 136, 138, 143, 144, 145, 146,
    144, 142, 135, 137, 141, 141, 142, 143, 142, 140, 134, 142, 149,
    149, 147, 145, 141, 140, 135, 142, 145, 142, 137, 136, 135, 136,
    133, 140, 143, 140, 134, 132, 129, 131, 130, 132, 131, 130, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 8

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 170, 173, 176,
    171, 168, 151, 154, 167, 169, 171, 174, 170, 167, 150, 166, 185,
    187, 180, 175, 163, 161, 147, 164, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 142, 143, 139, 130,
    129, 128, 128, 128, 131, 133, 135, 132, 130, 128, 128, 128,  // 9

    132, 135, 135, 136, 137, 138, 138, 134, 135, 139, 140, 141, 142,
    139, 137, 132, 133, 135, 135, 136, 137, 135, 134, 131, 138, 144,
    144, 142, 141, 139, 139, 135, 140, 142, 139, 134, 133, 132, 133,
    131, 134, 135, 133, 129, 128, 128, 128, 128, 128, 128, 129, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 10

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 171, 173, 176,
    171, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 164, 161, 147, 165, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 131, 134, 135, 132, 130, 128, 128, 128,  // 11

    133, 136, 137, 138, 139, 139, 140, 135, 137, 142, 144, 145, 146,
    144, 142, 135, 136, 140, 141, 142, 143, 141, 140, 134, 142, 148,
    149, 147, 145, 141, 140, 134, 142, 145, 142, 136, 135, 134, 136,
    133, 140, 142, 140, 134, 131, 129, 130, 130, 132, 131, 129, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 12

    140, 147, 150, 153, 156, 157, 159, 148, 152, 166, 171, 173, 176,
    172, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 164, 161, 147, 165, 175, 170, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 132, 134, 135, 132, 130, 128, 128, 128,  // 13

    133, 136, 137, 138, 139, 139, 140, 135, 137, 143, 144, 145, 146,
    144, 142, 135, 137, 141, 141, 142, 143, 141, 140, 134, 142, 148,
    149, 147, 145, 141, 140, 134, 142, 145, 142, 137, 135, 134, 136,
    133, 140, 143, 140, 134, 131, 129, 131, 130, 132, 131, 130, 128,
    128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,  // 14

    140, 147, 150, 153, 156, 157, 158, 148, 152, 166, 170, 173, 176,
    171, 168, 151, 154, 167, 170, 171, 174, 170, 167, 150, 166, 185,
    188, 181, 175, 163, 161, 147, 164, 175, 169, 156, 153, 148, 151,
    144, 161, 170, 165, 149, 142, 135, 139, 137, 143, 143, 139, 130,
    129, 128, 128, 128, 131, 134, 135, 132, 130, 128, 128, 128  // 15
};

// output channel = 16
int32_t bias[16] = {56, -25, 15, 11, -12, 36, 22, -5,
                    56, -25, 15, 11, -12, 36, 22, -5};

#endif // DATA_H